Introduksjon
Hvorfor bruke Jupyter Notebooks?
Det er to grunner til at dere lærer programmering på videregående:
- Dere skal bli bedre til å tenke algoritmisk – altså at dere bryter ned kompliserte problemer til enklere problemer som kan løses i ulike steg
- Dere skal bruke teknologi som gjør dere i stand til å løse problemer som er så kompliserte at de ikke kan løses uten hjelpemidler
Jupyter Notebooks er en type filer hvor du kan kombinere tekst, matematikk og programmering i samme fil. Det gjør at det blir enklere for deg å skrive ned forklaringer til programmene dine, og du kan lage en Notebook (notatblokk) til hvert tema vi programmerer. Istedenfor å sjekke 6 forskjellige filer med serielåneksempler, så kan du nå sjekke en fil hvor du både har tekst og eksempler.
Vi skal skrive Pythonkoden i programmet Visual Studio Code. Det gjør at datamaskinen automatisk fullfører navnene på funksjoner og på variabler, slik at du skriver mindre feil og får færre feilmeldinger.
I motsetning til vanlige .py-filer kan Jupyter Notebooks blande kode, tekstforklaringer og resultater (for eksempel grafer og tabeller) i samme dokument.
Dette gjør at du kan forklare hva koden gjør samtidig som du viser kjøringen av den.
Dette er spesielt nyttig når du skal:
- Dokumentere prosessen din steg for steg
- Lære nye konsepter og ha forklaringer rett ved siden av koden
- Lage rapporter der både teori, kode og resultater henger sammen
Jupyter Notebook-filer har filendelsen .ipynb.
Mappestruktur for programmering

Jeg anbefaler at du lager en egen mappe til programmeringen i matematikk. Du velger selv hvordan du gjør dette, men jeg vil anbefale at du har alle skolefilene dine i OneDrive-mappa på datamaskinen. Et eksempel på en fornuftig filstruktur er vist i figur 1.
Installasjon av programvare
For å kunne bruke Jupyter Notebooks må vi installere to programmer: Anaconda og Visual Studio Code.
- Anaconda er en samling av Python og mange tilleggsprogrammer. Det er en stor pakke som egentlig er litt overkill sammenlignet med hva vi trenger i videregående, men du trenger kun å installere Anaconda en gang.
- Visual Studio Code er programmet vi skriver koden vår i.
Framgangsmåte for installasjon av programmer
-
Åpne programmet
Terminal. Du finner det ved å trykke på Windows-knappen Windows og skrive innTerminal. -
Installer Anaconda ved å skrive inn nøyaktig denne kommandoen (det tar kjempelang tid).
winget install --source winget -e --id Anaconda.Anaconda3Dersom du får spørsmål om å godta vilkår så skriver du bokstaven
JellerYfor å godta. -
Etter at Anaconda er ferdig installert, så installerer du Visual Studio Code med følgende kommando
winget install --source winget -e --id Microsoft.VisualStudioCode
Oppsett av programvare
Visual Studio Code er et koderedigeringsprogram som kan brukes til alle programmeringsspråk. Vi skal bruke det til å skrive Python-kode ved hjelp av en funksjon som heter Jupyter notebooks.
Installere utvidelser i Visual Studio Code
Vi skal installere to utvidelser til Visual Studio Code for å kunne skrive Python-kode effektivt. Åpne først Visual Studio Code ved å åpne Start menyen (trykk på Windows-knappen) og skriv inn Code.
- Åpne
Extensions→ Søk etterPython→ Trykk påInstaller-knappen. Se figur 2. - Åpne
Extensions→ Søk etterJupyter→ Trykk påInstaller-knappen. - [Frivillig:]{#black} Åpne
Extensions→ Søk etterBlack Formatter→ Trykk påInstaller-knappen.
OBS! Alle disse tre utvidelsene er utviklet av Microsoft. Pass på at de er merket med ☑ Microsoft.

Deaktivere Copilot
- Åpne kommandopaletten ved å trykke knappene CtrlShiftP (eller velg
View→Command Palettefra verktøylinja i toppen av programvinduet). - Skriv inn
Copilot disable. - Du vil nå se flere valg, velg linjen med
GitHub Copilot: Disable completions
Copilot i Visual Studio Code er et kunstig intelligens-verktøy som hjelper oss å kode, blant annet ved at det foreslår hva vi bør skrive.
Det er et fantastisk verktøy, men for at vi mennesker skal lære, så er vi nødt til å tenke. Synapsene i hjernen din vil bli sterkere dersom det er du som finner løsningen, enn hvis du godtar løsningen til noen andre. Det tar litt lengre tid å gjøre det selv, men vi er tross alt på skolen for å lære og utvikle oss, ikke for å skrive mest mulig Pythonkode.
Oppstart av Visual Studio Code
- Velg
File→Open Folderog marker mappa til Python-programmene dine. Trykk påVelg mappe. - Åpne kommandopaletten ved å trykke knappene CtrlShiftP (eller velg
View→Command Palettefra verktøylinja i toppen av programvinduet). - Velg
Create: New Jupyter notebook. Du har nå opprettet en Jupyter Notebook. Dette er en fil som kan inneholde flere bokser med Python-kode og flere bokser med tekst. - Du må velge en kernel for å kunne kjøre Python-koden. Velg
Select KernelogPython Environments…, se figur 3. Deretter velger duanaconda3, se figur 4.


Bruk av Jupyter Notebooks
En Jupyter Notebook (heretter kaller vi dem bare notatblokker) består av én eller flere bokser med kode eller tekst.
- Du legger til en ny boks med kode ved å trykke på
+ Code, se figur 5. - Du legger til en ny boks med tekst ved å trykke på
+ Markdown, se figur 5.
Ved siden av boksene så finnes det en liten avspillingsknapp ▷ som kjører koden i boksen. Variabler som opprettes i en boks er også tilgjengelige i de andre boksene. På denne måten kan du fortsette et program over flere bokser om du ønsker. Output fra en boks vises direkte under boksen.

Legg gjerne merke til at notatblokken min ikke er lagret enda. Det kan du se ved at filen heter Untitled-1.ipynb, samtidig som du ser en hvit sirkel ved siden av filnavnet.
Du er nødt til å lagre din Jupyter Notebook selv. Du kan lagre på to måter:
- Tast hurtigtastene CtrlS.
- Velg
File→Savefra menylinja helt i øvre, venstre hjørne av vinduet.
Bruk av notatblokker til Python
Etter at du har opprettet en ny kodeblokk med + Code-knappen er du klar til å skrive Pythonkode. Gjør en test allerede nå ved å legge inn et enkelt Pythonprogram og trykk på ▷.
a = 2
b = 3
c = a * b
print(c)
- Tast ShiftEnter for å kjøre koden i en boks istedenfor å trykke på ▷ knappen.
- Tast AltShiftF for å formatere koden pent (krever at du installerte Black Formatter)
- Tast ShiftL for å vise linjenummere i koden din (det er spesielt nyttig når du skal tolke feilmeldinger)
IntelliSense og hjelp uten internett
Når du skriver Pythonkode i Visual Studio Code, får du automatisk hjelp gjennom IntelliSense.
Dette gjør at programmet foreslår variabler, funksjoner og metoder mens du skriver.
Hvis du har importert mattefunksjoenen med import math, og du skriver math. så vil det komme opp en liste med alt som finnes i pakken math, som sin, cos og sqrt.
Hvis du holder musepekeren over en funksjon, får du ofte en kort forklaring på hva den gjør og hvilke argumenter den tar inn.
Dette er nyttig når du ikke husker alt utenat, eller når du ønsker å oppdage hvilke muligheter et bibliotek gir.
Finne riktig funksjon
Ofte lurer man på: "Hvilken funksjon skal jeg bruke?"
- IntelliSense kan hjelpe deg å se hva som finnes i en pakke.
- Hvis du bare skriver
plt.(framatplotlib.pyplot) og trykker på Tab, får du opp en liste over alle funksjoner du kan bruke. - Hvis du begynner å skrive deler av navnet, foreslår IntelliSense riktig funksjon, f.eks.
plt.plo→plt.plot().
Dette gjør det lettere å lære nye biblioteker.
Hjelpefunksjoner i notatblokker
Selv uten internett kan du finne ut mye om hvordan funksjoner og pakker fungerer.
Hvis du skriver ? etter navnet på en funksjon så får du opp en kort dokumentasjon av funksjonen. Til venstre har jeg satt spørsmålstegn etter randint()-funksjonen for å finne ut hvordan denne fungerer. Til høyre ser du svaret fra Jupyter Notebook.
import random
random.randint?
Signature: random.randint(a, b)
Docstring:
Return random integer in range [a, b], including both end points.
Feilsøking i notatblokker
En debugger (engelsk for å fjerne bugs) er et feilsøkingsverktøy – det hjelper deg å finne feilene i programmet ditt. Feilsøkingsverktøyet er spesielt nyttig i de tilfellene hvor det ikke er noe åpenbart feil med programmet ditt, men du er usikker på om svarene riktige.
Feilsøkingsverktøyet (engelsk: debuggeren) i Visual Studio Code lar deg blant annet gå gjennom et Pythonprogram steg-for-steg. Du kan starte en enkel versjon av feilsøkingsverktøyet ved å markere en linje i koden din og taste F10 (du må sikkert holde inn Fn-tasten samtidig). Fortsett å taste F10 for å gå gjennom programmet ditt linje-for-linje. Du kan følge med på hvordan verdiene av variablene utvikler seg, slik som vist i figur 7.
Feilsøkingsverktøyet vil ikke fungere før du har lagret notatblokken din. CtrlShiftS
Bruke bruddpunkter til feilsøking
For å starte fullversjonen av feilsøkingsverktøyet må du først definere et bruddpunkt (engelsk: break point) i koden din, se figur 6. Dette gjøres ved å klikke i margen til venstre for kodeblokken. Veldig ofte ønsker vi å finne ut hva som skjer inni en løkke, da må du sette bruddpunktet på linja som starter løkka.

Etter at bruddpunktet er satt så kan du starte feilsøkingsverktøyet ved å klikke på nedoverpilen (⌄) markert Debug cell i figur 6, eller ved å trykke hurtigtasten CtrlShiftEnter. Programmet kjører da helt fram til bruddpunktet, deretter stopper kjøringen av programmet, og du kan bruke feilsøkingsverktøyene.
Bruk av feilsøkingsverktøyet
Når feilsøkeren har startet så ser du et bilde som vist i figur 7. Til venstre ser du de nåværende verdiene til alle variablene i programmet. I tillegg ser du verdiene av variablene i selve kodeblokken (se den grå teksten i linje 1–3). Figur 7 viser også feilsøkingsverktøyene i toppen av skjermen.
- F5 Bruk
Continue-knappen (▶) for å kjøre programmet helt fram til bruddpunktet. - F10 Bruk
Step Over-knappen (↷) for å kjøre neste linje av programmet. - ShiftF5 Bruk
Disconnect-knappen (🔌) for å avslutte debuggingen.


Se verdien av alle variabler
Du kan se verdiene til alle variablene i koden din uten å bruke print()-funksjonen. Trykk på Jupyter Variables i menylinja (knappen ligger til høyre for + Code og + Markdown).
Kopiere kode til OneNote eller Word
Hvis du kopierer koden din (CtrlC) og limer inn i OneNote eller Word (CtrlV) så vil du se at fargeleggingen av koden din følger med.
Skriv tekst og matematikk i notatblokka
Etter at du har opprettet en ny tekstblokk med + Markdown-knappen er du klar til å skrive tekst. Markdown er et tekstformat som bruker enkle symboler for å formatere tekst. Det kraftigste verktøyet for skolebruk er nok muligheten til å skrive matematikk.
Enkel formatering i Markdown
# Overskrift på nivå 1
### Overskrift på nivå 3
*Stjerner rundt teksten uthever teksten med kursiv*
**Doble stjerner uthever teksten med fet skrift**
En tom linje starter et nytt avsnitt.
- En punktliste starter med bindestrek
1. Nummererte lister begynner med tall og punktum
2. Matematikk på linje med teksten skrives som $x=2$
Skrive matematikk i Markdown
Markdown i notatblokker har innebygd støtte for LaTeX-kode til matematikk. Dette er den vanligste måten å skrive matematikk internasjonalt. Det tar tid å lære seg alle funksjonene i LaTeX, men du kommer fort i gang og lærer deg det viktigste! Du kan også bruke LaTeX-kode til å skrive formler i Microsoft Word.
Til venstre så ser du koden du kan skrive i Markdownblokkene, og til høyre ser du hvordan resultatet blir dersom du velger å kjøre Markdownblokken ved å trykke på ▷. Legg merke til at vi bruker doble dollartegn ($$x=2$$) for å skrive matematikk som står alene på en linje og enkle dollartegn ($x=2$) for å skrive matematikk som står på samme linje som teksten.
$f(x) = 2x^3$
Vi vet at $a_n = a_1 + (n-1) \cdot d$, derfor…
$ x = \frac{-b \pm \sqrt{b^2 - 4ac}}{2a} $
$\sum_{i=1}^n 2^{i-1} = 1+2+4+8+\dots$
Vi vet at
For å vise ferdig formatert tekst så kan du trykke på ✓ eller hurtigtastene ShiftEnter eller Esc, se figur 8.

De viktigste matematikkfunksjonene i LaTeX finner du på denne nettsiden. En oversikt over nesten alle matematikkfunksjonene finner du hos LaTeX på Wikibooks.